Mmpp analysis of network traffic using a transition window

ABSTRACT

Data communication in network traffic is modeled in real time and is analyzed using a 2-state Markov modified Poissen process (MMPP). The traffic inter-arrival times for bursty and idle states define a transition window [λ 1   max , λ 2   min ] represented by the boundary values λ 1   max  max for the inter-arrival time for bursty traffic, and λ 2   min  for the inter-arrival time for idle traffic. Changes in the values of λ 1   max  and λ 2   min  are tracked over time, and the size of the transition window is enlarged or decreased based upon relative changes in these values. If the inter-rival times for the bursty state and the idle state become approximately equal, the model defaults to a single state model. The modeling is applicable to the synchronization of polling and blocking in a low-latency network system. This permits the adoptive selection of poll or block to maximize CPU utilization and interrupt latency.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a division of patent application Ser. No.10/417,467, filed Apr. 16, 2003, and is related to the following U.S.patent applications: U.S. Ser. No. 09/607,013 filed Jun. 29, 2000,entitled “Method and System for Reducing Latency in Message PassingSystems, now Pat. No. 7,615,005 (Docket No. RPS920000014US1); U.S. Ser.No. 09/607,113, filed Jun. 29, 2000, for “Method and System forPredicting Inter-Packet Delays” now abandoned, (Docket NoRPS920000017US1); and U.S. Ser. No. 10/17,468, filed Apr. 16, 2003, for“Multilevel Analysis of Self-Similar Network Traffic” (Docket No.RPS920030017US1). The content of these cross-referenced applications ishereby incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates in general to the field of computer technology,and particularly to systems for the transfer of data. More specifically,the invention relates to the real-time modeling and analysis of the datacommunication aspect of network traffic.

BACKGROUND OF THE INVENTION

The flow of information in a network is often called ‘traffic’. Units ofinformation used in network communication are referred to as ‘packets’.Packets generally arrive at a point in the network at random intervalsresulting in ‘bursts’ of traffic, causing congestion and ‘idle’ periodsin which traffic is somewhat more sparse.

Systems that use a network for communication can benefit from theanalysis and characterization of the network traffic to optimize thecritical performance parameters that are involved in that communication.An example of the application of this type of analysis is thesynchronization of a user process with the completion of the receiveoperation at the system to network interface. A common design problemwith this process is the need to determine when the receive data isavailable at the input buffers. The method of synchronization used candirectly affect the latency of the receive operation and the utilizationof the host computer processor. One way to do the analysis of thenetwork traffic is to provide a model that recognizes thecharacteristics of the network traffic. Since network traffic has beenshown to be bursty, a method used to analyze network traffic should beable to represent behavior that is bursty.

Different methods are known for analyzing and characterizing networktraffic. The Poisson Process is widely utilized to model aggregatetraffic from voice sources. Bursty traffic has been shown to beapproximated by a Markov modulated Poisson process (MMPP). An MMPP modelcan be a very effective means to provide effective network trafficanalysis of data communication, either in batch mode or, preferably, inreal time.

Low-latency network architectures provide special mechanisms to improvethe performance of the network interconnect in message-passing systems.The synchronization of the user process with the completion of thereceive operation at the network interface card (NIC) has the commondesign problem that it needs to be determined when receive data isavailable at the input buffers. One of the mechanisms used forsynchronization is interrupts (blocking), but the problem withinterrupts is that they can add to the cost of synchronization withexcessive latency and CPU utilization. Polling is a mechanism intendedto help reduce the high latency of interrupts by polling on a completionsignal as an alternative to waiting for an interrupt as a method tosynchronize the user process with the completion of the receiveoperation. If the polling is done from user space, then the time neededfor kernel transitions is saved, thus reducing the latency of theoperation even further. The polling operation, however, uses the hostprocessor during the time it is polling the completion flag. Therefore,if the message arrival delay exceeds the interrupt time, then theincrease in host processor utilization will actually have a negativeimpact on the performance of the application. It becomes necessary toselect between polling and blocking (waiting for the interrupt)depending on the delay of the message. Therefore, two important concernsregarding the performance of the network interconnect are the overalllatency of the message communication and the CPU overhead involving thesend and receive primitives. The goal is to balance the latencyrequirements with the host processor utilization requirements to obtainthe best performance for the various arrival patterns experienced at theNIC receive input port.

SUMMARY OF THE INVENTION

The present invention describes a method for the real-time analysis ofnetwork traffic based on a 2-state MMPP model The method can be used atthe user-network interface during data transfer for the synchronizationof a user process with the completion of the receive operation. Atransition window [λ¹ _(max), λ² _(min)] is used to analyze the statetransition parameters corresponding to the packet inter-arrival timebetween the bursty state and the idle state.

Among the advantages of using this transition window are:

a) the accuracy of the selection; b) the ability to use dynamicalgorithms that are adaptive to the workload; and c) the flexibility ofthe dynamic algorithms to adaptively adjust the burst length (bustystate) to satisfy the requirements of the user process. Furtheradvantages of the present invention include, for example, 1) a reductionin system storage requirements, since it is not necessary to store allreceived packets for further off-line analysis; 2) immediate real-timeavailability of information from the analysis for administrative andmanagement purposes to identify or alleviate network problems; 3)availability of current usage information when resources, such as memorybuffers or communication bandwidth, are otherwise allocated to supportspecific services; and 4) a reduction of dependency on humanintervention, allowing for the fully automated future network managementsystems.

The invention includes a method and a system for adaptively analyzingcommunication of packets of data in a network traffic using a 2-stateMMPP model. The inter-arrival λ_(i) time of individual data packets isdetermined, as well as whether the packet arrival rates are ‘bursty’(λ¹) representing heavy traffic conditions or ‘idle’ (λ²) representinglight traffic conditions. A transition window is established with thevalues λ¹ _(max) and λ² _(min) representing the transition betweenbursty traffic and idle traffic. The probability ρ is determined as towhether a packet inter-arrival time is occurring in bursty traffic ρ¹ orin idle traffic ρ². The analysis of network traffic can be carried outin real-time. Typically, the bursty packet inter-arrival time has a meanvalue of λ¹ _(mean), the idle packet inter-arrival time has a mean valueof λ² _(mean), and the traffic characteristics are such that λ¹_(mean)<<λ² _(mean). As the value for λ¹ _(mean) begins to approximatethe value for λ² _(mean), the model can be set to default to a singlestate MMPP model. Changes in the values of λ¹ _(max) and λ² _(min) canbe tracked over time and the size of the transition window can beenlarged or decreased based upon relative changes in these values.

BRIEF DESCRIPTION OF THE DRAWINGS

The understanding of the present invention is facilitated by referenceto the following flow diagrams, timing diagrams and other drawings asfollows.

FIG. 1 is an illustration of an MMPP for modeling burst and idle networktraffic;

FIG. 2 is a flow diagram showing the correlation of MMPP modelparameters;

FIG. 3 describes four possible models of a network traffic stream;

FIG. 4 is a state diagram of the MMPP model;

FIG. 5 is a logic flow diagram;

FIG. 6 is a flow chart showing implementation of adaptive selection ofCPU utilization deadlines; and

FIG. 7 shows a magnetic disc symbolizing a medium for the execution ofthe program.

DETAILED DESCRIPTION OF THE INVENTION

An illustration of a 2-state MMPP model is shown in FIG. 1. The model110 is a bimodal sequencer that serves to predict inter-message arrivaldelays. It consists of a “bursty” state 112 represented as P¹, with ahigh packet arrival rate, and an “idle” state 118 represented by P²,with a low packet arrival rate. The bursty state describes the networktraffic when a burst of packets 114 occurs during heavy trafficconditions. During these bursts, the packet inter-arrival time is muchsmaller than the average packet arrival time, and is Poisson distributedwith a mean inter-arrival time of λ¹ _(mean). The idle state 118describes the network traffic 120 between bursts, when the traffic islight and the Poisson distributed packet inter-arrival time has a meanvalue λ² _(mean). When the packet inter-arrival time is less than λ¹_(max) and λ² _(min), all arrivals are in the bursty state. When thetimes are all above λ² _(min), the arrivals are in the idle state. Whenthe inter-arrival time slows down so that λ>λ² _(min) and λ>λ¹ _(max),the model transitions at 116 from the bursty state to the idle state.Conversely, when the arrival time becomes faster and λ<λ² _(min) andλ<λ¹ _(max), the model returns along 122 to the bursty state.

For the 2-state MMPP model to be a valid representation of the networktraffic, the behavioral characteristics of the traffic are such that λ¹_(mean)<<λ² _(mean). In the model, the traffic inter-arrival times forthe bursty and idle states are represented by the boundary values λ¹_(max) and λ² _(min), respectively. For the special case where λ¹_(mean) is approximately equal to λ² _(mean), the model defaults to asingle state model. This is explained in greater detail below. Thesevalues are used as the transition criteria between bursty and idlestates, as shown in FIG. 1.

Since the representation of the network traffic in a model is anapproximation, the length of the burst during state P¹ is anapproximation with burst edges that are defined somewhat arbitrarily. Inpractice, the burst length is defined to satisfy the requirements of theuser process. For example, in the synchronization of a user process withthe completion of the receive operation at the system to networkinterface, the burst length is defined to aid in the selection betweenpolling and blocking, in which case the burst length is determined bythe interrupt latency time. As previously noted, the trafficinter-arrival times for the bursty and idle states are represented bythe boundary values λ¹ _(max) and λ² _(min), respectively. Theseboundary values define a transition window [λ¹ _(max), λ² _(min)] thathas as the left side the parameter λ¹ _(max) and the right side theparameter λ² _(min). The parameter λ¹ _(max) determines an upperboundary for the packet inter-arrival time for the bursty state while λ²_(min) is the parameter that determines a lower boundary for the packetinter-arrival time for the idle state. For the bursty state, λ¹ _(max)defines the probability p¹ that a packet with inter-arrival time lowerthan λ¹ _(max) belongs to the bursty state. Similarly, for the idlestate, λ² _(min) defines the probability p² that a packet withinter-arrival time higher than λ² _(min) belongs to the idle state.Based on these probabilities, a decision can be made for each arrivingpacket of the particular state transition induced by the arrival.

Algorithms are described that allow the model to track changes in thenetwork traffic dynamically. As the network traffic characteristicschange over time, the mean inter-arrival times for the bursty state (λ¹_(mean)) and for the idle state (λ² _(mean)) also change over time. Forthe model to track these changes over time, the values λ¹ _(max) and λ²_(min) change in proportion to the changes in the traffic. The timevalues λ¹ _(max) and λ² _(min) define the sides of a transition windowof length k=λ² _(min)−λ¹ _(max). The size of the transition window [λ¹_(max), λ² _(min)] can be changed dynamically to be used in adaptivealgorithms that control the process transition between states. Forimplementation in an algorithm used in that fashion, the transitionwindow [λ¹ _(max), λ² _(min)] can become larger or smaller by changingthe value of λ² _(min) and λ¹ _(max) accordingly. The specific value ofthe parameters used depends on the specific application of thealgorithm.

FIG. 2 shows a diagram for the state machine view of the algorithm thatuses the transition matrix as the basis of the next state transition. Acurrent inter-arrival time λ_(i) 202 is compared at 206 with the maximumburst time λ¹ _(max) and the minimum idle time λ² _(min). Based on this,either P¹ or P² is selected at 208 based on whether the value for λ_(i)is more likely to belong to the bursty state or the idle state. Thisselection goes into state memory 210 and a decision is then made at 212whether to adjust the model parameters. If the answer is yes, the newvalues for λ¹ _(max) and λ² _(min) are determined at 216 and are sent tobe compared at 206. If no adjustment is required, the old values arereturned for further comparison.

Examples of the use of this algorithm are:

a) the model adapts dynamically to changes in the workload, and

b) the burst length (bursty state) is adjusted to satisfy therequirements of the user process.

Although typically the network traffic can be characterized as beingbimodal and thereby described by the MMPP model, a special case occursunder light traffic conditions where the network traffic can becharacterized by a simple Poisson distribution. As traffic intensitygoes down, the mean inter-arrival time λ¹ _(mean) of the bursty stateapproaches that of the idle state inter-arrival time λ² _(mean) to thepoint where the two are no longer distinguished by the model. When thecharacteristics of the traffic are such that λ² _(mean) approximatelyequals λ¹ _(mean), a single state in the MMPP model is used to representthe network traffic.

Packet arrivals and inter-burst transitions are detected in thefollowing manner. Assume that packet P_(i-1) presently belongs to burststate P¹. Then, the task is to detect whether packet P_(i) belongs stillto burst state P¹ or to the idle state P². The detection logic comparesthe incoming packet inter-arrival time λ_(i) with λ¹ _(max) and λ²_(min). This is illustrated in FIG. 3 wherein the packet arrivals areshown as vertical arrows 302. For this scenario, there are four possiblecases, shown as Case 1 (304), Case 2 (306), Case 3 (308) and Case 4(310). The transition window [λ¹ _(max), λ² _(min)] is illustrated hereas a shaded rectangle 412 and the incoming packet Pi is illustrated asan X.

Case 1. λ_(i)<λ¹ _(max)<λ² _(min): P_(i) is detected to belong to burststate P¹.

Case 2. λ_(i)>λ² _(min)>λ¹ _(max): P_(i) is detected to belong to idlestate P².

Case 3. λ¹ _(max)<λ_(i)<λ² _(min): P_(i) is detected to be inside of thetransition window [λ¹ _(max), λ² _(min)]. In this case, the next statetransition which is selected is dependent upon the user processrequirements. As will be shown, this method can be applied to improvethe performance of the network attached devices. In particular,application of the transition window approach to manage thesynchronization process in low-latency, high-bandwidth networks will beshown.

Case 4. λ_(i)<λ¹ _(max) and λ_(i)>λ² _(min): This is not a validcombination because both cannot occur with λ¹ _(max) being smaller thanλ² _(min).

FIG. 4 shows how the model adjusts adaptively to changes in the workloadand automatically makes a correction to the results in the selections ofthe transition between states. The boundaries established by theparameters λ¹ _(max) and λ² _(min) determine the model parameters.Therefore, the value of parameters λ¹ _(max) and λ² _(min) changeautomatically to reflect the mean inter-arrival time of the incomingtraffic.

In this algorithm, it is not necessary to compute the mean inter-arrivaltime for the burst state and for the idle state after every arrival. Ifit is required to realize certain savings in computation for performancereasons, it is possible to do the computation of the mean inter-arrivaltime and to readjust the value of λ¹ _(max) and λ² _(min) upon receiptof every X number of packets, where X can be specified. Thejustification of this algorithm is explained as follows.

First, check 406 the inter-arrival time λ_(i) 402 for the incomingpacket. If the packet time is as indicated with a value that is lessthan λ¹ _(max) and λ² _(min), the probability is that it is belongs inburst packet P¹ 408. If the value is greater than λ¹ _(max) and λ²_(min), the probability is that it belongs in the idle packet P² 510. Ifthe inter-arrival time λ_(i) 402 for the incoming packet is within thetransition window [λ¹ _(max), λ² _(min)] (Case 3), then the flow goes to412, where a check is made of the current measurement and a decision ismade whether to go to state P₁ for bursty or to P₂ for idle Thatdecision is entirely application dependent. The decision as to whetherthe packet is bursty or idle goes into state memory 418. A referencevalue is given for the mean inter-arrival time in the bursty state λ¹_(mean-ref) and a reference value for the mean inter-arrival time in theidle state λ² _(mean-ref). This gives the reference value for thetransition window parameters [λ¹ _(max-ref), λ² _(min-ref)] . Assume thenetwork traffic characteristics change so that the mean inter-arrivaltime of the new traffic in the bursty state is λ¹ _(mean-new) (420) andthe new mean inter-arrival time in the idle state is λ² _(mean-new)(422). Define the probability p¹ that a packet with inter-arrival timelower than λ² _(max) belongs to the bursty state. Define the probabilityp² that a packet with inter-arrival time higher than λ² _(min) belongsto the idle state. This usually is defined so that p¹>>p².

If λ¹ _(mean-new)=N * λ¹ _(mean-ref), and λ² _(mean-new)=M * λ²_(mean-ref), then the new transition window is determined at 428 and 430as[λ¹ _(max-new)=N * λ¹ _(max-ref), λ² _(min-new)=M * λ² _(min-ref)].This is based on principles that can be proven mathematically byequating the integral of the exponential distribution with a mean valueλ¹ _(mean-ref) from λ¹ _(max-ref) to infinity to the probability p¹.Then, the integral of the exponential distribution with a mean value N *λ¹ _(mean-ref) to infinity is also equal to p¹. From this follows thedesired results. A similar derivation can be followed for the idlestate.

The present invention also relates to the use of a transition window andan MMPP in a low-latency network user process synchronization in thefollowing manner. Some of the policies for the implementation of pollingand blocking (waiting for interrupts) are the optimal policy, the pollpolicy (or spin policy), the block (or wait for interrupt) policy andthe poll-block policy. The following provides a summary of performancefor the various policies. The symbols listed below are used:

-   -   λ^(d)=the message arrival delay time (since the start of the        synchronization period),    -   tLAT=receive latency (can exceed the arrival delay time),    -   tLAT-BOUND=bound for the receive latency,    -   tOH=the processor overhead due to polling and/or interrupt        processing (time period),    -   tOH-BOUND=bound for the processor overhead,    -   tp=polling time: poll(tp).    -   tBLK=interrupt overhead time.        With the optimal policy, the receiving process can predict the        delay of the expected message. If the delay is less than the        interrupt overhead, then the process polls on a completion flag        and the latency is minimized. If the delay is more than the        interrupt overhead, then the process will block (will wait until        it is interrupted) and excessive overhead due to polling is        avoided. In practice, this policy is not realizable because        there is no way that the process can predict exactly what the        delay is for the expected message (although it can be        approximated.) However, the optimal policy provides a good        baseline for other methods that have as a goal to get as close        to this bound as possible. For the optimal policy, the processor        overhead (tOH) and transaction latency (tLAT) are as follows:        if λd<tBLK, then poll:    -   tOH=td,    -   tLAT=td,        if λd>=tBLK, then block:    -   tOH=tBLK,    -   tLAT=td+tBLK,        With the poll policy, the receiving process polls on a        completion flag. This policy can provide good performance if the        receive operation completes within a reasonably short amount of        time. However, polling can consume processor utilization that        could otherwise be used by the application. For the poll(tp)        policy, the processor overhead (tOH) and transaction latency        (tLAT) are:    -   tOH=td,    -   tLAT=td,        With the block policy, the receiving process always blocks and        waits for an interrupt to complete the receive operation. This        policy is good when used to overcome the limitations of polling        but, for short messages and frequent message arrivals, it        contributes significant latency and processor overhead. For the        block policy, the processor overhead (tOH) and transaction        latency (tLAT) are:    -   tOH=tBLK,    -   tLAT=td+tBLK        The poll-block policy does not attempt to predict the delay of        the expected message, but instead attempts to “minimize its        losses”. With this policy, the process polls the completion flag        for a time equal to the interrupt overhead. If it has not        detected completion at the end of this time period, it blocks to        wait for an interrupt. This policy achieves a cost that is no        worse than twice that of the optimal policy (twice the interrupt        overhead delay time). For the poll(tp)-block policy, the        processor overhead (tOH) and transaction latency (tLAT) are:        if λd<tBLK, then the process polls for time td and:    -   tOH=td, (tp=tBLK)    -   tLAT=td, (tp=tBLK)        if λd>=tBLK, then the process polls for time λd=tp=tBLK and:    -   tOH=td+tBLK,    -   tLAT=td+tBLK,        Bounding the message latency (tLAT):    -   tLAT=tLAT-BOUND<=λd+tBLK, if λ<tBOUND        Bounding the processor overhead (tOH)    -   tp+tBLK<tOH-BOUND

The present invention provides a solution to the problem of decidingbetween polling and blocking (waiting for interrupts) with a policy thatattempts to make a prediction on what the delay of the expected messageis likely to be. The decision on whether to poll or to block is madebased on the Markov modulated Poisson process (MMPP) modelcharacterizing the flow of traffic to a network adapter (for receiveoperations). The model characterizing the traffic and the parameters ofthe model are provided in a table, where the task making the poll vs.block is made. The performance of this policy will be between that ofthe optimal policy and the poll-block policy. If the prediction accuracyapproaches 100%, then the cost will be closer to the optimal policy. Ifthe prediction accuracy approaches 0%, then the cost will be closer tothe poll-block policy. The accuracy of the prediction, as noted below,depends on the traffic and how effectively the algorithm can predict thepresence of bursts in the traffic and the size of these bursts. Becauseof the bursty nature of network traffic, this approach can do muchbetter than the poll-block policy, but no worse.

A diagram of the selection system is shown in FIG. 5. To implement themethod, it is necessary to have a measurement of the traffic pattern asa reference on which to make predictions and the process obtains atime-stamp of the incoming packets. The time-stamp of two consecutivepackets is recorded and the difference between the present incomingpacket (t₁) and the previous packet (t₂) is recorded. The differenceλ^(i)=t₁−t₂, for the measurement in some interval i, is assumed to berepresentative of the traffic pattern with some level of error.

There are two main cases to consider: bursty traffic or non-burstytraffic. If the traffic is bursty, then the value for the λ^(i)measurements is compared with T_(B) at 506 and 512. If λ^(i)<T_(B), thenpolling is used and the decision is made to continue polling 506 to 502.If, on the other hand, λ^(i)>T_(B), then blocking is used and thedecision is made to continue blocking (512 to 508) or to go from pollingto blocking (506 to 508).

However, the poll-block policy can do better. If the traffic is bursty,then the transition window [λ¹ _(max), λ² _(min)] is examined to see ifλ^(i)>λ¹ _(max) and λ^(i)<λ² _(min). If so, the λ^(i) is inside thetransition window and the poll-block policy can provide better results.This occurs in the transition between states as follows:

-   Case 1. λ_(i)<λ¹max<λ² _(min): P_(i) belongs to the bursty state.    Therefore, poll.-   Case 2. λ_(i)>λ² _(min)>λ¹ _(max): P_(i) belongs to the idle state.    Therefore, block.-   Case 3. λ¹ _(max)<λ_(i)<λ² _(min): P_(i) is inside the transition    window. Therefore, poll(tp)-block.

The size of the transition window is left to the specification of thedesigner. However, certain guidelines need to be followed. By making thetransition window tighter or smaller, the accuracy of the selection ofthe next state is increased. On the other hand, the window length cannotbe zero because, when the window size is zero, the selection of thepoll(tp)-block policy is precluded.

Several techniques illustrate the application of the invention toadaptive selection of poll vs. block when there is a deadline either forthe CPU utilization or the latency. One approach for using thetransition window is to fix the value of the λ¹ _(max) parameter as thesame value as that specified for the interrupt latency. On the otherhand, if a deadline is specified for either the CPU utilization or forthe maximum latency of arrival, then the following adaptive algorithmcan be used. For example, where it is desired to optimize the CPUutilization, a deadline U_(d) is given for a maximum value of the CPUutilization U_(CPU) below which the arrival latency is minimized.However, for CPU utilization above this value, the goal then is tominimize the CPU utilization.

The flow chart in FIG. 6 shows how this algorithm is implemented. First,the inter-arrival time λ_(i) 602 for an incoming packet is checked(606). If the packet time is as indicated at 608 (bursty) as noted inCase 1, or at 610 (idle) as noted in Case 2, then there is no need totake any action. If, however, the inter-arrival time λ_(i) 602 for theincoming packet is within the transition window (Case 3), then the flowgoes to test 612. There, a check is made of the current measurement forthe CPU utilization. If the utilization U_(cpu) is below the deadlineU_(d), then the parameter λ¹ _(max) is set to the specified referencevalue λ¹ _(max-ref) (616). On the other hand, if the utilization U_(cpu)is above the deadline U_(d), then the parameter λ¹ _(max) is set to amodified value, the reference value λ¹ _(max-ref) that is proportionalto the ratio of the current CPU utilization and the deadline value:U_(CPU)[U_(d) (618).

FIG. 7 shows a computer-readable medium in the form of a floppy disc 700for containing the software implementation of the program to carry outthe various steps of modeling the network traffic according to thepresent invention. Other machine readable storage mediums are fixed harddrives, optical discs, magnetic tapes, semiconductor memories, such asread-only memories (ROMs), programmable (PROMs), etc. The articlecontaining this computer readable code is utilized by executing the codedirectly from the storage device, or by copying the code from onestorage device to another storage device, or by transmitting the code ona network for remote execution.

While the invention has been described in combination with specificembodiments thereof, there are many alternatives, modifications, andvariations that are likewise deemed to be within the scope thereof.Accordingly, the invention is intended to embrace all such alternatives,modifications and variations as fall within the spirit and scope of theappended claims.

1. An article comprising a computer-readable medium which storescomputer-executable instructions for processing traffic flow patternsassociated with network data transmission, the instructions, whenexecuted on a computer, causing a machine to: a) receive traffic patterndata associated with the network transmission of data packets relatingto the times of arrival of network data packets; b) apply a Markovmodulated Poisson process (MMPP) algorithm to the received pattern; andc) repeat the steps a) and b) one or more additional times at differenttime levels.
 2. The article according to claim 1 wherein the mediumincludes instructions for the synchronization of polling and blocking ina low-latency network system.
 3. The method of using a transition window[λ¹ _(max), λ² _(min)] based on a Markov modulated Poisson process(MMPP) model to implement a poll-block policy, comprising the steps of:a) measuring the traffic pattern to use as a reference by recording thetime stamp of two consecutive packets (t₂ followed by t₁) andcalculating the time interval between packets as λ_(i)=t₁−t₂; b)predicting the delay of an incoming message based on the measuredtraffic pattern; and c) if the traffic is within the transition window,implementing a poll(tp)block policy which switches from polling toblocking when λ_(i) is greater than λ² _(min) and from blocking topolling when λ_(i) is less than λ¹ _(max).
 4. The method according toclaim 3 wherein the value of λ¹ _(max) is set the same as the value foran interrupt latency.
 5. The method according to claim 3 furtherincluding the use of the poll-block policy to optimize CPU utilization(U_(cpu)) by: establishing a deadline U_(d) for the maximum value ofU_(cpu) below which the arrival latency is minimized; checking thecurrent U_(cpu); and setting the parameter λ¹ _(max) to a specifiedreference value λ¹ _(max-ref) if the utilization is below U_(d), orsetting the parameter λ¹ _(max) to a modified reference value of λ¹_(max-ref) that is proportional to the ratio of the current CPUutilization and the deadline value U_(cpu)/U_(d).